package com.dingreading.cloud.admin.service;

import com.dingreading.cloud.admin.dto.StoreManagementFeeDto;
import com.dingreading.cloud.admin.entity.StoreManagementFee;
import com.dingreading.cloud.common.util.PageUtil;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;

import java.util.Date;
import java.util.List;

/**
 * 服务层。
 *
 * @author Administrator
 * @since 2024-11-18
 */
public interface StoreManagementFeeService extends IService<StoreManagementFee> {

    Page<StoreManagementFeeDto> pageList(
            PageUtil pageUtil, String storeUid, String staffUid, Integer status, String beginDate, String endDate,
            Integer orderStatus, List<String> identifyList
    );

    List<StoreManagementFee> listByStoreUid(String storeUid);

    boolean updateStatus(Long id, Double payAmount, Date payTime, String remark, String operatorUid, String operatorName);

    boolean close(Long id, String closeRemark, String headStaffUid, String headStaffName);

    boolean recover(Long id, String headStaffUid, String headStaffName);

    StoreManagementFee getByIdRalation(Long id);

    List<StoreManagementFee> listByExport(
            String storeUid, String staffUid, Integer status, String beginDate, String endDate, Integer orderStatus,
            List<String> identifyList
    );

}
